-
Notifications
You must be signed in to change notification settings - Fork 121
[Woo POS] Modularization: refactor POS entry point initializer to minimize public dependencies #16175
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…classes that need to be public.
…refactoring' into feat/WOOMOB-935-refactor-pos-entry-point # Conflicts: # WooCommerce/Classes/POS/Presentation/PointOfSaleEntryPointView.swift # WooCommerce/Classes/POS/Utils/PreviewHelpers.swift
Generated by 🚫 Danger |
| import struct NetworkingCore.JetpackSite | ||
|
|
||
| public struct PointOfSaleCouponFetchStrategyFactory { | ||
| public protocol PointOfSaleCouponFetchStrategyFactoryProtocol { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note: a protocol was created so that StorageManagerType, a dependency of PointOfSaleCouponFetchStrategyFactory, does not need to be known in the future POS module.
|
|
…cluded in the project.
# Conflicts: # WooCommerce/Classes/POS/Models/POSIneligibleReason.swift # WooCommerce/Classes/POS/Presentation/Settings/PointOfSaleSettingsView.swift # WooCommerce/Classes/POS/TabBar/POSTabCoordinator.swift
|
@staskus While resolving the merge conflicts from trunk where
WDYT? I personally would go with option 1 given the drawbacks of the other two. Also looping in @joshheald, as I vaguely recall you mentioned separating GRDB into a separate module in a previous PR. |
|
@jaclync thanks for those options!
However, regardless of |

Part of WOOMOB-935
Just one review is required.
This PR should be reviewed after #16173
Overview
This PR refactors the
PointOfSaleEntryPointViewinitializer to minimize the number of POS dependencies that need to be marked as public in preparation for moving POS functionality to a separate module. The goal is to reduce the public API surface by consolidating dependency injection at the entry point level.Changes Made
PointOfSaleEntryPointViewinitializer to accept fewer, more consolidated dependenciesSteps to reproduce
A smoke test in POS would be helpful for regression testing.
Testing Information
RELEASE-NOTES.txtif necessary.